/*
 * jyd-31.h
 *
 *  Created on: 2025��9��27��
 *      Author: Move
 */

#ifndef CODE_JYD_31_H_
#define CODE_JYD_31_H_

#include "zf_common_headfile.h"

//=================================================���� JYD31 ģ�� ��������================================================
#define BLUETOOTH_JYD31_INDEX              (UART_2)                        // ����ģ���Ӧʹ�õĴ��ں�
#define BLUETOOTH_JYD31_BUAD_RATE          (9600)                          // ����ģ���Ӧʹ�õĴ��ڲ�����
#define BLUETOOTH_JYD31_TX_PIN             (UART2_RX_P10_6)                // ����ģ��� TX Ҫ�ӵ���Ƭ���� RX
#define BLUETOOTH_JYD31_RX_PIN             (UART2_TX_P10_5)                // ����ģ��� RX Ҫ�ӵ���Ƭ���� TX
// ע�⣺JYD-31ֻ��4�����ţ���RTS����������

#define BLUETOOTH_JYD31_BUFFER_SIZE        (64)                            // �������ݵĻ�������С
#define BLUETOOTH_JYD31_TIMEOUT_COUNT      (500)                           // ִ�в����ĳ�ʱʱ��
//=================================================���� JYD31 ģ�� ��������================================================


//=================================================���� JYD31 ģ�� �����ӿ�================================================
uint32  bluetooth_jyd31_send_byte          (const uint8 data);                             // ����ת����ģ�� ���͵��ֽ�
uint32  bluetooth_jyd31_send_buffer        (const uint8 *buff, uint32 len);                // ����ת����ģ�� ���ͻ�����
uint32  bluetooth_jyd31_send_string        (const char *str);                              // ����ת����ģ�� �����ַ���
void    bluetooth_jyd31_send_image          (const uint8 *image_addr, uint32 image_size);   // ����ת����ģ�� ��������ͷͼ������ ��λ���鿴ͼ��
uint32  bluetooth_jyd31_read_buffer         (uint8 *buff, uint32 len);                      // ����ת����ģ�� ��ȡ����
void    bluetooth_jyd31_uart_callback       (void);                                         // ����ת����ģ�� �����жϻص�����
uint8   bluetooth_jyd31_init                (void);                                         // ����ת����ģ�� ��ʼ��
//=================================================���� JYD31 ģ�� �����ӿ�================================================

uint32  bluetooth_jyd31_send_uint          (uint32 value, uint8 width);                    //תģ 
uint32  bluetooth_jyd31_send_int           (int32 value, uint8 width);                     //תģ 

void    bluetooth_emergency_stop_handler_isr (uint8 data);                                 // 蓝牙紧急停止控制处理函数（中断版本-实时响应）
void    bluetooth_emergency_stop_handler   (void);                                         // 蓝牙紧急停止控制处理函数（主循环版本-兼容保留）

#endif /* CODE_JYD_31_H_ */
